package com.zshan.clinic.database.model;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;

/**
 * 诊所营收概况
 */
public class StatClinicIncomeDaily implements Serializable {
    /** 主键ID */
    private Long id;

    /** 诊所ID */
    private Long clinicId;

    /** 统计日期 */
    private LocalDate statDate;

    /** 营业总额 */
    private Integer incomeAmount;

    /** 营业订单数 */
    private Integer incomeCount;

    /** 挂号数 */
    private Integer regCount;

    /** 门诊数 */
    private Integer medicalCount;

    /** 随访数 */
    private Integer followupCount;

    /** 检查数 */
    private Integer examCount;

    /** 检验数 */
    private Integer labCount;

    /** 配药数 */
    private Integer dispenseCount;

    /** 发药数 */
    private Integer deliveryCount;

    /** 执行数 */
    private Integer execCount;

    /** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getClinicId() {
        return clinicId;
    }

    public void setClinicId(Long clinicId) {
        this.clinicId = clinicId;
    }

    public LocalDate getStatDate() {
        return statDate;
    }

    public void setStatDate(LocalDate statDate) {
        this.statDate = statDate;
    }

    public Integer getIncomeAmount() {
        return incomeAmount;
    }

    public void setIncomeAmount(Integer incomeAmount) {
        this.incomeAmount = incomeAmount;
    }

    public Integer getIncomeCount() {
        return incomeCount;
    }

    public void setIncomeCount(Integer incomeCount) {
        this.incomeCount = incomeCount;
    }

    public Integer getRegCount() {
        return regCount;
    }

    public void setRegCount(Integer regCount) {
        this.regCount = regCount;
    }

    public Integer getMedicalCount() {
        return medicalCount;
    }

    public void setMedicalCount(Integer medicalCount) {
        this.medicalCount = medicalCount;
    }

    public Integer getFollowupCount() {
        return followupCount;
    }

    public void setFollowupCount(Integer followupCount) {
        this.followupCount = followupCount;
    }

    public Integer getExamCount() {
        return examCount;
    }

    public void setExamCount(Integer examCount) {
        this.examCount = examCount;
    }

    public Integer getLabCount() {
        return labCount;
    }

    public void setLabCount(Integer labCount) {
        this.labCount = labCount;
    }

    public Integer getDispenseCount() {
        return dispenseCount;
    }

    public void setDispenseCount(Integer dispenseCount) {
        this.dispenseCount = dispenseCount;
    }

    public Integer getDeliveryCount() {
        return deliveryCount;
    }

    public void setDeliveryCount(Integer deliveryCount) {
        this.deliveryCount = deliveryCount;
    }

    public Integer getExecCount() {
        return execCount;
    }

    public void setExecCount(Integer execCount) {
        this.execCount = execCount;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        StatClinicIncomeDaily other = (StatClinicIncomeDaily) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getClinicId() == null ? other.getClinicId() == null : this.getClinicId().equals(other.getClinicId()))
            && (this.getStatDate() == null ? other.getStatDate() == null : this.getStatDate().equals(other.getStatDate()))
            && (this.getIncomeAmount() == null ? other.getIncomeAmount() == null : this.getIncomeAmount().equals(other.getIncomeAmount()))
            && (this.getIncomeCount() == null ? other.getIncomeCount() == null : this.getIncomeCount().equals(other.getIncomeCount()))
            && (this.getRegCount() == null ? other.getRegCount() == null : this.getRegCount().equals(other.getRegCount()))
            && (this.getMedicalCount() == null ? other.getMedicalCount() == null : this.getMedicalCount().equals(other.getMedicalCount()))
            && (this.getFollowupCount() == null ? other.getFollowupCount() == null : this.getFollowupCount().equals(other.getFollowupCount()))
            && (this.getExamCount() == null ? other.getExamCount() == null : this.getExamCount().equals(other.getExamCount()))
            && (this.getLabCount() == null ? other.getLabCount() == null : this.getLabCount().equals(other.getLabCount()))
            && (this.getDispenseCount() == null ? other.getDispenseCount() == null : this.getDispenseCount().equals(other.getDispenseCount()))
            && (this.getDeliveryCount() == null ? other.getDeliveryCount() == null : this.getDeliveryCount().equals(other.getDeliveryCount()))
            && (this.getExecCount() == null ? other.getExecCount() == null : this.getExecCount().equals(other.getExecCount()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getClinicId() == null) ? 0 : getClinicId().hashCode());
        result = prime * result + ((getStatDate() == null) ? 0 : getStatDate().hashCode());
        result = prime * result + ((getIncomeAmount() == null) ? 0 : getIncomeAmount().hashCode());
        result = prime * result + ((getIncomeCount() == null) ? 0 : getIncomeCount().hashCode());
        result = prime * result + ((getRegCount() == null) ? 0 : getRegCount().hashCode());
        result = prime * result + ((getMedicalCount() == null) ? 0 : getMedicalCount().hashCode());
        result = prime * result + ((getFollowupCount() == null) ? 0 : getFollowupCount().hashCode());
        result = prime * result + ((getExamCount() == null) ? 0 : getExamCount().hashCode());
        result = prime * result + ((getLabCount() == null) ? 0 : getLabCount().hashCode());
        result = prime * result + ((getDispenseCount() == null) ? 0 : getDispenseCount().hashCode());
        result = prime * result + ((getDeliveryCount() == null) ? 0 : getDeliveryCount().hashCode());
        result = prime * result + ((getExecCount() == null) ? 0 : getExecCount().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", clinicId=").append(clinicId);
        sb.append(", statDate=").append(statDate);
        sb.append(", incomeAmount=").append(incomeAmount);
        sb.append(", incomeCount=").append(incomeCount);
        sb.append(", regCount=").append(regCount);
        sb.append(", medicalCount=").append(medicalCount);
        sb.append(", followupCount=").append(followupCount);
        sb.append(", examCount=").append(examCount);
        sb.append(", labCount=").append(labCount);
        sb.append(", dispenseCount=").append(dispenseCount);
        sb.append(", deliveryCount=").append(deliveryCount);
        sb.append(", execCount=").append(execCount);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}